Kiến trúc Ibus

IBus được viết bằng CPython, như vậy tránh được các vấn đề chuyển đổi C++ ABI của SCIM <1.4.14.

IBus cung cấp hầu hết các chức năng của nó thông qua các services. Có ba loại services:

  • Input method engine (IME): Bộ gõ hiện thời
  • Configuration: Xử lý các cấu hình cho IBUS và các dịch vụ khác như IME.
  • Panel: Giao diện người dùng như thanh ngôn ngữ và bảng lựa chọn bộ gõ

IBus dùng D-Bus để liên lạc giữa các ibus-daemon, services, và IM clients chẳng hạn như giả lập thiết bị đầu cuối, trình soạn thảo và các trình duyệt web. ibus-daemon quản lý tất cả clients và services bằng cách nhận đăng ký từ các services, và gửi các tin nhắn qua D-Bus tới các services và IM client.

Nó triển khai các giao thức XIM, và có các modules bộ gõ GTK+Qt.